There are various scenarios where data is retrieved from a remote location to be stored locally. For example, a user may want to download a package of files, such as a ZIP file, or a Windows Imaging File Format (WIM) file, that contains several compressed files. Typically, the user requests to download the package from its source, and then waits for the package to download. When the package has finished downloading, the contents can be extracted.
A problem with this process is that the user typically has to wait for the entire package to download before anything can be done with the package's contents. Thus, a ZIP file might contain dozens of files, of which the user wants to read a single file. In order to read the single file, the user typically has to download the entire ZIP file before the one file that the user wants can be decompressed and viewed. If the ZIP file is large enough, the downloading can take several minutes or hours.